有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java动态识别base64编码的文件类型

我正在使用java 8 base64编码和解码库,同时我成功地编码了一个jpg/pdf/png文件,并且能够再次将base64字符串保存到jpg/pdf/png。但我的要求是动态检测文件类型,然后以各自的方式将该字符串保存到图像文件中。例如,如果我得到一个base64 pdf文件,那么我的应用程序会自动检测到该字符串是base64 pdf字符串,并将该字符串另存为pdf


共 (1) 个答案

  1. # 1 楼答案

    简单地说:你不能通过设计从base64编码的字符串中读取格式。 根据base64字符串的来源,可以做两件事

    向编码器添加信息

    将文件类型信息添加到编码字符串中,第一个X位或最后一个X位都可以,然后从您首先编码的文件中读取它们,并决定这些位是您所在的文件类型

    阅读魔法数字

    您提到的每个文档都有特定的文件类型,取决于它们的文件开头(标题/幻数)。如果你读了这个神奇的数字,你可以决定这个文件可能是哪种文件类型(但千万不要相信这个决定)https://en.wikipedia.org/wiki/Magic_number_(programming)#Magic_numbers_in_files